<?php

/**
 * ResolucaoDeEscopo [TIPO]
 * Descricao
 * @copyright (c) year, Romulo B. Bosco 
 */
class ResolucaoDeEscopo {
   
    public $Produto;
    public $Valor;
    /**
     * NAO PODERA SERA ACESSADA PELO OBJETO. E APENAS UM ATRIBUTO DA CLASSE. SERA ATACADO DIRETAMENTE DENTRO
     * DA CLASSE PARA FAZER A MANIPULACAO
     * @var static
     */
    public static $Vendas;
    public static $Lucros;
    
    function __construct($Produto, $Valor) {
        $this->Produto = $Produto;
        $this->Valor = (float) $Valor;
    }
    
    public function Vender(){
        self::$Vendas += 1;
        self::$Lucros = $this->Valor * self::$Vendas;
        echo "{$this->Produto} vendido por R$ {$this->ToReal($this->Valor)}<br>";
        
    }
    
    /**
     * DEVE SER UTILIZADO NUM METADO ESTATICO, APENAS O SELF OU PARENT.
     * NAO UTILIZAR SELF OU PARENT DENTRO DE LAÇO {}. DEVE CONCATENAR.
     */
    public static function Relatorio() {
        echo "<hr>";
        echo "Este produto vendeu ".self::$Vendas." unidade(s). Total R$ ".self::$Lucros;
        echo "<hr>";
    }
    
    public function ToReal($Valor) {
        return number_format($Valor, '2','.',',');
    }

}
